WRAP_CLASS("itk::NeighborhoodConnectedImageFilter")
  WRAP_IMAGE_FILTER_USIGN_INT(2)
  WRAP_IMAGE_FILTER_SIGN_INT(2)
  WRAP_IMAGE_FILTER_REAL(2)

  BEGIN_MANAGED_METHOD("AddSeed")
    SET(MANAGED_METHOD_SUMMARY         "Add a seed point.")
    SET(MANAGED_METHOD_RETURN_TYPE     "void")
    SET(MANAGED_METHOD_PARAMS          "itkIndex^ seed")
    SET(MANAGED_METHOD_TYPE_BODY       "m_PointerToNative->AddSeed(itk::ManagedTypes::ToNativeIndex<NativeType::InputImageType::ImageDimension>(seed));")
    SET(MANAGED_METHOD_WRAPPER_BODY   "iInstance->AddSeed(seed);")
  END_MANAGED_METHOD()

  BEGIN_MANAGED_METHOD("ClearSeeds")
    SET(MANAGED_METHOD_SUMMARY         "Clear the seeds.")
    SET(MANAGED_METHOD_RETURN_TYPE     "void")
    SET(MANAGED_METHOD_PARAMS          "void")
    SET(MANAGED_METHOD_TYPE_BODY       "m_PointerToNative->ClearSeeds();")
    SET(MANAGED_METHOD_WRAPPER_BODY   "iInstance->ClearSeeds();")
  END_MANAGED_METHOD()

  BEGIN_MANAGED_PROPERTY("ReplaceValue" GETSET)
    SET(MANAGED_PROPERTY_SUMMARY   "Get/set the value to replace thresholded pixels. Pixels that lie within Lower and Upper (inclusive) will be replaced with this value. The default is 1.")
    SET(MANAGED_PROPERTY_TYPE      "itkPixel^")
    SET(MANAGED_PROPERTY_GET_BODY  "return itk::ManagedTypes::ToManagedPixel<NativeType::OutputImageType::PixelType>( m_PointerToNative->GetReplaceValue() );")
    SET(MANAGED_PROPERTY_SET_BODY  "m_PointerToNative->SetReplaceValue( itk::ManagedTypes::ToNativePixel<NativeType::OutputImageType::PixelType>( value ) );")
  END_MANAGED_PROPERTY()

  BEGIN_MANAGED_PROPERTY("Upper" GETSET)
    SET(MANAGED_PROPERTY_SUMMARY   "Get/set the upper threshold for the segmentation.")
    SET(MANAGED_PROPERTY_TYPE      "itkPixel^")
    SET(MANAGED_PROPERTY_GET_BODY  "return itk::ManagedTypes::ToManagedPixel<NativeType::InputImageType::PixelType>( m_PointerToNative->GetUpper() );")
    SET(MANAGED_PROPERTY_SET_BODY  "m_PointerToNative->SetUpper( itk::ManagedTypes::ToNativePixel<NativeType::InputImageType::PixelType>( value ) );")
  END_MANAGED_PROPERTY()

  BEGIN_MANAGED_PROPERTY("Lower" GETSET)
    SET(MANAGED_PROPERTY_SUMMARY   "Get/set the lower threshold for the segmentation.")
    SET(MANAGED_PROPERTY_TYPE      "itkPixel^")
    SET(MANAGED_PROPERTY_GET_BODY  "return itk::ManagedTypes::ToManagedPixel<NativeType::InputImageType::PixelType>( m_PointerToNative->GetLower() );")
    SET(MANAGED_PROPERTY_SET_BODY  "m_PointerToNative->SetLower( itk::ManagedTypes::ToNativePixel<NativeType::InputImageType::PixelType>( value ) );")
  END_MANAGED_PROPERTY()

  BEGIN_MANAGED_PROPERTY("Radius" GETSET)
    SET(MANAGED_PROPERTY_SUMMARY   "Get/set the radius of the neighborhood used for the segmentation.")
    SET(MANAGED_PROPERTY_TYPE      "itkSize^")
    SET(MANAGED_PROPERTY_GET_BODY  "return itk::ManagedTypes::ToManagedSize<NativeType::InputImageType::ImageDimension>(m_PointerToNative->GetRadius());")
    SET(MANAGED_PROPERTY_SET_BODY  "m_PointerToNative->SetRadius(itk::ManagedTypes::ToNativeSize<NativeType::InputImageType::ImageDimension>(value));")
  END_MANAGED_PROPERTY()


END_WRAP_CLASS()

